package team3;

/**Represents an object that needs to be informed of Game State changes.
 * <p>
 * Used for interfacing with the GUI.
 */
public interface GameListener
{
    /** Signals that it is time for the next player to take its' turn.
     * @param game The GameManager that fired the event
     * @param currentPlayer The player whose turn it now is
     * @param lastMove The move made by the previous player
     */
	void nextPlayersTurn(GameManager game, AI.Player currentPlayer, int[] lastMove);

    /** Signals that a game has completed.
     * @param game The GameManager that fired the event
     * @param winner The player that won the game, or EMPTY if a tie.
     */
	void gameOver(GameManager game, AI.Player winner);
}
